package br.com.sistemasaude.dao;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.sistemasaude.bean.Agendamento;
import br.com.sistemasaude.bean.Atendimento;
import br.com.sistemasaude.bean.Convenio;
import br.com.sistemasaude.bean.Medicamento;
import br.com.sistemasaude.util.JpaUtil;

public class AtendimentoDAOImpl implements AtendimentoDAO{

	private final GenericDAO<Atendimento> dao;	
	EntityManager em = new JpaUtil().getEntityManager();
	
	public AtendimentoDAOImpl() {
		dao = new GenericDAO<Atendimento>(em, Atendimento.class);
		}
	
	public void salvar(Atendimento atendimento) {
		
		try {

			em.getTransaction().begin();
			dao.salvar(atendimento);
			em.getTransaction().commit();

		} catch (Exception e) {
			
			em.getTransaction().rollback();
			e.printStackTrace();
			
		} finally {
			em.close();
		}
		
	}
	
	public Atendimento buscar(int id_atendimento){
		
		Query query = em.createQuery("from Atendimento a where a.idAtendimento = :id_atendimento");
		query.setParameter("id_atendimento", id_atendimento);
		
		return (Atendimento) query.getSingleResult();
	}	
	
	public boolean update(Atendimento atendimento){
		try {

			em.getTransaction().begin();
			dao.update(atendimento);
			em.getTransaction().commit();
			return true;

		} catch (Exception e) {
			
			em.getTransaction().rollback();
			e.printStackTrace();
			return false;
		} finally {
			em.close();
		}
		
	}
}
